$NG.AllReady(function (page, { useValuesChange, useDataIndexChange, useUpdateRow, useUpdateRows }) {
    console.log('Data ready event triggered');
    var mstform = $NG.getCmpApi("p_form_equipment_list");
    var dgrid = $NG.getCmpApi('p_form_equipment_list_d');
    // 10.表体数据变化（增行、删行、引入）时，汇总计算至表头
    useUpdateRows(({ args ,table}) => {
        const rows = args[0];
        const clearList = {}; // 用于存储清单编号
        let sum_to_u_pur_cost_amt = 0; // 采购成本
        let sum_to_u_svc_cost_amt = 0; // 服务成本
        let sum_to_u_sub_cost = 0; // 拟分包成本
        let clearCodeCounter = 1; // 清单编码计数器，从 1 开始
        rows.forEach((items) => {
            const { u_equipment_list_name, u_model } = items;
            const key = `${u_equipment_list_name}_${u_model}`; // 根据名称和型号生成唯一标识符
            // 如果清单编号不存在，则生成新的编号
            if (!clearList[key]) {
                const serialPart = String(clearCodeCounter).padStart(4, '0'); // 将计数器格式化为4位
                clearList[key] = 'A' + serialPart; // 生成清单编号
                clearCodeCounter++;
            }
            //根据名称和型号查询合同信息中的合同清单编码，弹出提示“”
            // 将清单编号赋值到明细对象中的清单编码字段
            items.u_equipment_list_no = clearList[key];
            sum_to_u_pur_cost_amt += parseFloat(items.u_pur_cost_vat) || 0; // 拟采购成本含税
            sum_to_u_svc_cost_amt += parseFloat(items.u_svc_cost) || 0; // 服务成本预计
            sum_to_u_sub_cost += parseFloat(items.u_sub_cost_vat) || 0; // 拟分包成本含税
        });
        table.updateRow(rows)
        // 更新表单状态，将计算出的 sum 赋值给表头字段
        $NG.updateState((updater) => {
            updater.data.p_form_equipment_list.setProps({
                u_pur_cost_amt: sum_to_u_pur_cost_amt,
                u_svc_cost_amt: sum_to_u_svc_cost_amt,
                u_sub_cost: sum_to_u_sub_cost,
            });
        });
    }, "p_form_equipment_list_d");

    if (page.oType == page.OType.Add || page.oType == page.OType.Edit) {

        console.log(page.oType); //新增 修改 查看 工作流
        var dgrid1 = $NG.getCmpApi('p_form_equipment_list_impl');
        var dgrid2 = $NG.getCmpApi('p_form_equipment_list_svc');


        useValuesChange(({ args }) => {
            console.log(args[0]);
            dgrid1.clearRows();
            dgrid2.clearRows();
            if (dgrid1) {
                $NG.execServer('get_impl_cost_budget_info', {
                    phid_pc: "1"
                }, function (res) {
                    const data = JSON.parse(res.data);
                    console.log(res.data);
                    //默认增行,批量新增表体数据
                    var gridArr = []; //定义表体数组
                    var gridCount = res.count; //增加的行数,可根据从数据库从取出的数据总数增行
                    for (var i = 0; i < gridCount; i++) {
                        var gridObj = {
                        };
                        //对表体字段进行赋值,可以取数据库中的值进行赋值
                        gridObj.u_bill_no = data[i].extendObjects.bill_no;
                        gridObj.u_total_impl_amt = data[i].extendObjects.u_total_impl_labor_amt;
                        gridObj.u_total_daily_amt = data[i].extendObjects.u_total_daily_amt;
                        gridObj.u_total_sec_dev_amt = data[i].extendObjects.u_total_sec_dev_amt;
                        gridObj.u_invoice_type = data[i].extendObjects.u_invoice_type;
                        gridArr.push(gridObj);
                    }
                    //调用新增表体行数据的函数

                    dgrid1.addRows(gridArr);
                })
            }
            if (dgrid2) {
                $NG.execServer('get_svc_cost_budget_info', {
                    phid_pc: "1"
                }, function (res) {
                    const data = JSON.parse(res.data);
                    console.log(res.data);
                    //默认增行,批量新增表体数据
                    var gridArr = []; //定义表体数组
                    var gridCount = res.count; //增加的行数,可根据从数据库从取出的数据总数增行
                    for (var i = 0; i < gridCount; i++) {
                        //对表体字段进行赋值,可以取数据库中的值进行赋值
                        var gridObj = {
                        };
                        gridObj.u_bill_no = data[i].extendObjects.bill_no;
                        gridObj.u_total_svc_amt = data[i].extendObjects.u_total_svc_amt;
                        gridObj.u_total_svc_labor_amt = data[i].extendObjects.u_total_svc_labor_amt;
                        gridObj.u_total_daily_amt = data[i].extendObjects.u_total_daily_amt;
                        // gridObj.u_invoice_type = data[i].extendObjects.u_invoice_type;
                        gridArr.push(gridObj);
                    }
                    //调用新增表体行数据的函数

                    dgrid2.addRows(gridArr);
                })
            }
        }, "p_form_equipment_list.u_product_line");
    }
});